package main

import (
	"fmt"
	"math"
)

func main() {
	//定义数值类型变量
	a := 456
	b := 123

	//数值类型变量的四则运算
	println("a+b=", a+b)
	println("a-b=", a-b)
	println("a*b=", a*b)
	println("a/b=", a/b)

	//Go语言不支持隐式类型转换,需要手动进行显式类型转换
	c := 99.9
	fmt.Printf("a+c=%.2f\n", float64(a)+c)
	var d int32 = 10
	println("a-d=", a-int(d))

	//math包提供了常用的数学运算方法
	p := math.Pow(2, 2)
	fmt.Printf("%.2f\n", p)
	log2 := math.Log2(float64(100))
	fmt.Printf("%.2f\n", log2)

	Extremum()

}

// Extremum 常见数值类型变量的极值
func Extremum() {
	fmt.Printf("int类型的最大值: %d\n", math.MaxInt)
	fmt.Printf("int类型的最小值: %d\n", math.MinInt)
	fmt.Printf("float64类型的最大值: %.2f\n", math.MaxFloat64)
	fmt.Printf("float64类型最小的非零值: %.2f\n", math.SmallestNonzeroFloat64)
}
